Skip to main content

Avisos de seguridad

Sugerencia

Para obtener información completa sobre el tema de la seguridad en CODESYS entorno, consulte: Seguridad

Desarrollo de un Control HTML5

No es posible transferir ninguna cantidad de datos que pueda ocurrir con arreglos grandes. En este caso, es útil vincular la matriz con la funcionalidad de rango de desplazamiento. Esto también permite un mejor rendimiento de transferencia porque solo se transfiere la sección que realmente se necesita.

  • Tipo de editor: ArrayRange

  • Tipo de propiedad: Actualizar

  • Tipo de variable: tipo base de la matriz

Por lo tanto, configure el control HTML5 con una propiedad de interfaz para la matriz de la siguiente manera:

Usando un control HTML5

Importante

Por razones de seguridad, al usar controles HTML5, debe tener en cuenta que la funcionalidad que contiene puede provocar ataques inesperados. Como resultado, se puede dañar el funcionamiento de un PLC.

  • Ejecución de ataques DoS en los servidores web

  • Espionaje de valores que han sido configurados en controles HTML5

  • Mostrar valores incorrectos de la aplicación

  • Envío de valores incorrectos a la aplicación

Ejemplos de estos incluyen los siguientes:

Para una protección eficaz, es necesario que se tomen las siguientes medidas de salvaguarda.

Comprobar el autor y el contenido

Use solo controles HTML5 de autores confiables.

CODESYS proporciona soporte para evitar cambios inesperados (y potencialmente maliciosos) en los controles de HTML5. Los controles HTML5 usados se pueden verificar en busca de cambios durante la compilación o la descarga y deben confirmarse inicialmente en los proyectos para esto. Se calcula una suma de comprobación (= valor hash) para el contenido de estos controles HTML5. Los autores de controles HTML5 pueden proporcionar sus valores hash para comparar.

Protocolo HTTPS seguro

Utilice HTTPS.

Con los controles HTML5, además de las declaraciones de caracteres y los eventos de entrada, como los clics del mouse, ahora también se transfieren los valores leídos o escritos en las variables IEC. Esto podría facilitar los ataques man-in-the-middle.

Acceso a recursos

De forma predeterminada, un control HTML5 no puede cargar recursos como secuencias de comandos o estilos. Sin embargo, los recursos que se proporcionan con el propio elemento están excluidos de esto. Si esto requiere que los contenidos se carguen desde servidores que no sean el controlador, esto se puede mitigar ajustando el ContentSecurityPolicyIncludeTrustedOrigins ajuste en el generado automáticamente webvisu.cfg.json expediente.

Sin embargo, esto no se recomienda por las siguientes razones:

  • Todos los demás controles de HTML5 también pueden descargar y usar contenidos de estas ubicaciones permitidas.

  • Basic Level no tiene control sobre los recursos cargados desde servidores externos, por lo que no se puede garantizar la disponibilidad y la compatibilidad.

  • Los servidores externos podrían proporcionar scripts maliciosos que luego podrían ejecutarse como parte del control HTML5. Por ejemplo, un script malicioso podría modificar valores recibidos o enviados o revelar información.

manipulación de archivos

Tenga cuidado si la aplicación utiliza controles HTML5 junto con la capacidad de modificar archivos. En el caso de la manipulación de archivos, los usuarios maliciosos podrían insertar código malicioso en los controles de HTML5. Esto debe temerse, por ejemplo, al usar el editor de texto de la visualización o funciones como SysFile.

  • El desarrollador de la aplicación es responsable de asegurarse de que las rutas de archivo utilizadas para la modificación se verifiquen en busca de ubicaciones válidas (por ejemplo, no en el $PlcLogic$/$visu$carpetas). Esto es especialmente peligroso si el usuario de la visualización puede ingresar libremente la ruta para cambiar un archivo.

  • Le recomendamos que utilice solo rutas codificadas de forma rígida. Alternativamente, también puede verificar que una ruta ingresada por el usuario esté en la ubicación esperada.